<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    /*
      1 箭头函数只有一个参数时，小括号可以省略
      2 如果函数只有一条return 语句，大括号和return 可以省略
      3 箭头函数没有arguments 内置对象
      4 箭头函数不能作为构造函数使用
      5 call apply 可以调用箭头函数，不能改变this 指向
      6 箭头函数的this指向父作用域，（定义它的地方）
    */
   //箭头函数this 不能发生改变  可以通过父作用域this的指向来改变箭头函数this的指向
</script>
<script>
     //1
    //  let fn = (x,y) => {
    //     console.log(x,y);
    //  }
    //fn(1,2)

    let fn = (x) => {
       console.log(x); 
    };
    fn(1);
</script>
<script>
    //2
    let fn_1 = (y) => y;
    console.log(fn_1(2));
</script>
<script>
    //3
    // let fn_2 = function() {
    //     console.log(arguments);
    // }
    let fn_2 = () => {
        console.log(arguments);
    }
    fn_2();
</script>
<script>
    //4 
    let fn_3 = ()=>{};
   let f1 = new fn_3();
   console.log(f1);

</script>
<script>
    //5
    // let demo = function() {
    //     console.log(this);
    // }
    let demo = () => {
        console.log(this);
    }
    let obj = {
        name: "张三",
    }
    // demo();
    demo.call(obj); //this 指向obj
    //call apply bind 
</script>
</html>